/*
 *二叉树的学习
 *2018.11.15
 *二叉树的建立 与遍历，前序 中序 后序
 也用来练习git
 联系改成练习
 */
#include <stdio.h>
#include <stdlib.h>

#include "tree.h"
#include "queue.h"

#include "debug.h"
int main (void) {
	bin_tree T;

	//creat_tree(&T);
	//printf("二叉树创建完成\n");
	/*
	int temp,ret;
	int input_flag = 1;
	
	T = (bin_tree)malloc(sizeof(struct tree_node));
	T->left = T->right = NULL;
	printf("请输入根节点\n");
	scanf("%d%*c",&temp);
	T->data = temp;
	printf("请输入需要插入的元素，以“#”结束\n");
	while(input_flag) {
		input_flag = scanf("%d%*c",&temp);
		if(input_flag != 1) {
			input_flag = 0;
			DEBUG("输入结束\n");
		}
		if(input_flag == 1) {
			T = insert(temp,T);
			DEBUG("输入成功\n");
		}
 	}
	*/

	int N,i;
	printf("输入节点数:");
	scanf("%d%*c",&N);
	printf("开始输入树:");
	T = make_tree(N);

	printf("输入另一颗树:");
	if(judge (T,N)) printf("是同一颗:");
	else printf("不是同一颗:");
	printf("前序变遍历二叉树:");

	pre_order_traversal(T);
	printf("\n");

	printf("中序变遍历二叉树:");
	in_order_traversal(T);
	printf("\n");

	printf("后序变遍历二叉树:");
	post_order_traversal(T);
	printf("\n");

	printf("二叉树的层序遍历:");
	level_order_traversal(T);
	printf("\n");
}

// 这次是临时修改一个bug

// 分支练习，暂存分支
// 暂存完成，提交
